package com.cater.sys.service;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.cater.annotation.SystemServiceLog;
import com.cater.sys.dao.ResourceDao;
import com.cater.sys.entity.Resource;

/**
 * @author sd 资源管理
 */
@Service("ResourceService")
public class ResourceService {

	@Autowired
	private ResourceDao resourceDao;

	/**
	 * 获得所有资源
	 * 
	 * @return
	 */
	public List<Resource> getAll() {
		return resourceDao.getAll();
	}

	/**
	 * 根据ID查询资源信息
	 * 
	 * @param id
	 * @return
	 */
	public Resource getbyresourceId(Integer id) {
		return resourceDao.getById(id);
	}

	/**
	 * 根据用户ID查询所有顶级菜单
	 * 
	 * @param id
	 * @return
	 */
	/*
	 * public List<Resource> getbyId(Integer id){ return
	 * resourceDao.getbyUserId(id); }
	 */

	/**
	 * 获得所有顶级资源
	 * 
	 * @return
	 */
	public List<Resource> getAllp() {
		return resourceDao.getAllp();
	}

	/**
	 * 用于查询用户所拥有的所有资源
	 * 
	 * @param roleId
	 * @return
	 */
	public List<Resource> getAllc(Integer roleId) {
		return resourceDao.getAllc(roleId);
	}

	@SystemServiceLog(description = "查询权限内资源")
	public List<Resource> getAllbyroleIds(Integer pid, Integer roleId) {
		return resourceDao.getAllbyroleIds(pid, roleId);
	}

	/**
	 * 根据父级ID查询所有二级菜单
	 * 
	 * @param pid
	 * @return
	 */
	public List<Resource> getBypids(Integer pid) {
		return resourceDao.getBypids(pid);
	}

	/**
	 * 添加资源
	 * 
	 * @param resource
	 * @return
	 */
	public int save(Resource resource) {
		return resourceDao.save(resource);
	}

	/**
	 * 修改资源
	 * 
	 * @param resource
	 */
	public void update(Resource resource) {
		resourceDao.update(resource);
	}

	/**
	 * 删除资源
	 * 
	 * @param id
	 * @return
	 */
	public int delete(Integer id) {
		return resourceDao.delete(id);
	}

	public List<Resource> getByUserIdZid(Integer userId, Integer pid) {
		return resourceDao.getByUserIdZid(userId, pid);
	}
}
